﻿using System;
using System.Collections.Generic;
using System.Text;
using com.clinica.business.BE.gescot;
using com.clinica.business.entities;
using com.clinica.dao.sql;
/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/


namespace com.clinica.DL.sql.gescot
{
    public static class CotizacionDL
    {
        public static List<CotizacionBE> ObtenerSolicitudesCotizacion(CotizacionBE oCot, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarCotizacion_01";
            cmd.AddParameter("@TipoCotizacion", oCot.TipoCotizacion);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oCot.NumeroSol);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<CotizacionBE> ObtenerSolicitudesCotizacion_Estado(CotizacionBE oCot, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarXEstadoCotizacion_06";
            cmd.AddParameter("@TipoCotizacion", oCot.TipoCotizacion);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oCot.NumeroSol);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<CotizacionBE> ObtenerSolicitudCotizacion(CotizacionBE oCot)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerCotizacion_02";
            cmd.AddParameter("@TipoDoc", oCot.TipoCotizacion);
            cmd.AddParameter("@NroSol", oCot.NumeroSol);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<CotizacionBE> ActualizarCotizacion(int accion, string objxml)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_MantenimientoCotizacion_03";
            cmd.AddParameter("@Accion", accion);
            cmd.AddParameter("@xml", (object)objxml);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<CotizacionBE> ActualizarCotizacion(CotizacionBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizarEstadoCotizacion_05";
            cmd.AddParameter("@TipoLiq", obj.TipoCotizacion);
            cmd.AddParameter("@NumeroLiq", obj.NumeroSol);
            //cmd.AddParameter("@Observacion", obj.Observacion);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<CotizacionBE> RechazarCotizacion(CotizacionBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_RechazarCotizacion";
            cmd.AddParameter("@TipoLiq", obj.TipoCotizacion);
            cmd.AddParameter("@NumeroLiq", obj.NumeroSol);
            //cmd.AddParameter("@Observacion", obj.Observacion);
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }


        public static void AnularCotizacion(CotizacionBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : CROJAS
             * Fecha      : 2011-07-10
             ****************************************************************************************/

            List<CotizacionBE> lst = new List<CotizacionBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_Anular_Cotizacion";
            cmd.AddParameter("@TipSolicitud", obj.TipoCotizacion);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSol);
         
            lst = (List<CotizacionBE>)ElManager.EjecutarStore<CotizacionBE>(cmd, DataBase.CLINICA_WEB);
           
        }

    }
}
